package com.qq.API_日期与时间.JDK8;

import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;


//Duration
//在Java8中，我们可以使用以下类来计算时间间隔差异：java.time.Duration
//提供了使用基于时间的值测量时间量的方法,所以只能计算带时间的类
//用于LocalDateTime,LocalTime之间的比较,也可用于Instant之间的比较(只能同类型之间)

//创建对象
//public static Duration between(Temporal,Temporal);   调用静态方法，返回一个Duration类型的对象

//实例方法:
//按 年，月，日，时，分，秒算各是多少
//toDays(),toHours(),toMinutes(),toSeconds
////只获取年，月，日，时，分，秒，各自的部分
//toDaysPart(),toHoursPart(),toMinutesPart(),toSecondsPart();
public class API_Duration {
    public static void main(String[] args) {
        // 本地日期时间对象。
        LocalDateTime today = LocalDateTime.now();

        // 出生的日期时间对象
        LocalDateTime birthDate = LocalDateTime.of(2008,3,15,00,00,00);
        System.out.println(birthDate);
        
        //计算两个日期相差多少  时 分 毫秒，也可以计算天数
        Duration duration = Duration.between(birthDate,today);//第二个参数减第一个参数,未来减过去
       
        //按 年，月，日，时，分，毫秒，纳秒算各是多少
        System.out.println(duration.toDays());//两个时间差的天数
        System.out.println(duration.toHours());//两个时间差的小时数
        System.out.println(duration.toMinutes());//两个时间差的分钟数
//        System.out.println(duration.toSeconds);////两个时间差的秒数
        System.out.println(duration.toMillis());//两个时间差的毫秒数
        System.out.println(duration.toNanos());//两个时间差的纳秒数
        //只获取年，月，日，时，分，秒，各自的部分
//        long day = duration.toDaysPart(); 
//        long hour = duration.toHoursPart();
//        long minute = duration.toMinutesPart();
//        long second = duration.toSecondsPart();
    }
}
